package com.atguigu.tingshu.order.interceptor.impl;

import com.alibaba.fastjson.JSON;
import com.atguigu.tingshu.common.constant.SystemConstant;
import com.atguigu.tingshu.order.helper.SignHelper;
import com.atguigu.tingshu.order.interceptor.OrderHandlerInterceptor;
import com.atguigu.tingshu.vo.order.OrderInfoVo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

import java.util.Map;

@Slf4j
@Service
public class ValidDataOrderHandlerInterceptor implements OrderHandlerInterceptor {

    @Override
    public OrderInfoVo sbumitOrderRequestProcess(OrderInfoVo orderInfoVo) {
        log.info("ValidDataOrderHandlerInterceptor...sbumitOrderRequestProcess方法执行了...");
        /*
        * 对提交过来的表单数据,使用相同的加密算法进行加密,
        * 对该数据的加密数据,和提交过来的数据,进行比较
        * 这个是进行数据的有效性测试
        * */
        //提交过来的是一个orderInfoVo对象 加密算法需要的是一个map集合
        Map<String,Object> map = JSON.parseObject(JSON.toJSONString(orderInfoVo),Map.class);
        map.put("payWay", SystemConstant.ORDER_PAY_WAY_WEIXIN);
        SignHelper.checkSign(map);

        return orderInfoVo;
    }

    @Override
    public int sort() {
        return 1;
    }

}
